LVGL_PATH ?= ${shell pwd}/lvgl

ASRCS += \
lv_blend_helium.S \
lv_blend_neon.S
 
CSRCS += \
lv_obj_scroll.c \
lv_obj_event.c \
lv_obj_style_gen.c \
lv_obj_style.c \
lv_obj_tree.c \
lv_obj_pos.c \
lv_obj_id_builtin.c \
lv_obj_draw.c \
lv_obj_class.c \
lv_obj_property.c \
lv_obj.c \
lv_refr.c \
lv_group.c \
lv_observer.c \
lv_sysmon.c \
lv_snapshot.c \
lv_imgfont.c \
lv_file_explorer.c \
lv_gridnav.c \
lv_ime_pinyin.c \
lv_fragment_manager.c \
lv_fragment.c \
vg_lite_matrix.c \
lv_monkey.c \
lv_indev.c \
lv_indev_scroll.c \
lv_theme_default.c \
lv_theme_mono.c \
lv_theme_simple.c \
lv_theme.c \
lv_cmsis_rtos2.c \
lv_os.c \
lv_os_none.c \
lv_windows.c \
lv_mqx.c \
lv_freertos.c \
lv_rtthread.c \
lv_pthread.c \
lv_flex.c \
lv_layout.c \
lv_grid.c \
lv_font_montserrat_26.c \
lv_font_montserrat_44.c \
lv_font_simsun_16_cjk.c \
lv_font_montserrat_48.c \
lv_font_montserrat_38.c \
lv_font.c \
lv_font_montserrat_28.c \
lv_font_montserrat_14.c \
lv_font_montserrat_16.c \
lv_font_montserrat_30.c \
lv_font_dejavu_16_persian_hebrew.c \
lv_font_montserrat_34.c \
lv_font_unscii_8.c \
lv_font_montserrat_28_compressed.c \
lv_font_montserrat_24.c \
lv_binfont_loader.c \
lv_font_montserrat_10.c \
lv_font_simsun_14_cjk.c \
lv_font_montserrat_40.c \
lv_font_fmt_txt.c \
lv_font_montserrat_42.c \
lv_font_montserrat_8.c \
lv_font_montserrat_36.c \
lv_font_unscii_16.c \
lv_font_montserrat_46.c \
lv_font_montserrat_20.c \
lv_font_montserrat_32.c \
lv_font_montserrat_22.c \
lv_font_montserrat_18.c \
lv_font_montserrat_12.c \
lv_display.c \
lv_ffmpeg.c \
lodepng.c \
lv_lodepng.c \
lv_fs_posix.c \
lv_fs_rawfs.c \
lv_fs_memfs.c \
lv_fs_cbfs.c \
lv_fs_fatfs.c \
lv_fs_win32.c \
lv_fs_stdio.c \
lv_fs_littlefs.c \
lz4.c \
lv_rlottie.c \
tjpgd.c \
lv_tjpgd.c \
lv_rle.c \
lv_bmp.c \
lv_libpng.c \
lv_bin_decoder.c \
lv_qrcode.c \
qrcodegen.c \
lv_libjpeg_turbo.c \
lv_tiny_ttf.c \
lv_freetype.c \
lv_ftsystem.c \
lv_freetype_image.c \
lv_freetype_glyph.c \
lv_freetype_outline.c \
code128.c \
lv_barcode.c \
gifdec.c \
lv_gif.c \
lv_tick.c \
lv_draw_buf.c \
lv_draw_image.c \
lv_draw_arc.c \
lv_draw_mask.c \
lv_pxp_osa.c \
lv_draw_buf_pxp.c \
lv_pxp_cfg.c \
lv_pxp_utils.c \
lv_draw_pxp_layer.c \
lv_draw_pxp.c \
lv_draw_pxp_fill.c \
lv_draw_pxp_img.c \
lv_draw_vglite_layer.c \
lv_draw_vglite_img.c \
lv_draw_vglite_line.c \
lv_draw_vglite_fill.c \
lv_vglite_path.c \
lv_draw_vglite_border.c \
lv_vglite_buf.c \
lv_draw_buf_vglite.c \
lv_vglite_matrix.c \
lv_draw_vglite_arc.c \
lv_draw_vglite_label.c \
lv_draw_vglite_triangle.c \
lv_vglite_utils.c \
lv_draw_vglite.c \
lv_draw_sdl.c \
lv_draw_label.c \
lv_draw_line.c \
lv_image_decoder.c \
lv_draw_rect.c \
lv_draw_sw_mask.c \
lv_draw_sw_fill.c \
lv_draw_sw_border.c \
lv_draw_sw_box_shadow.c \
lv_draw_sw_blend_to_i1.c \
lv_draw_sw_blend_to_argb8888.c \
lv_draw_sw_blend.c \
lv_draw_sw_blend_to_l8.c \
lv_draw_sw_blend_to_rgb565.c \
lv_draw_sw_blend_to_rgb888.c \
lv_draw_sw_blend_to_al88.c \
lv_draw_sw_img.c \
lv_draw_sw_line.c \
lv_draw_sw_triangle.c \
lv_draw_sw_vector.c \
lv_draw_sw.c \
lv_draw_sw_arc.c \
lv_draw_sw_transform.c \
lv_draw_sw_mask_rect.c \
lv_draw_sw_letter.c \
lv_draw_sw_gradient.c \
lv_draw.c \
lv_draw_triangle.c \
lv_draw_vector.c \
lv_text_ap.c \
lv_templ.c \
lv_color_op.c \
lv_timer.c \
lv_rb.c \
lv_ll.c \
lv_bidi.c \
lv_anim.c \
lv_style_gen.c \
lv_async.c \
lv_area.c \
lv_palette.c \
lv_event.c \
lv_array.c \
lv_style.c \
lv_color.c \
lv_utils.c \
lv_log.c \
lv_matrix.c \
lv_fs.c \
lv_image_cache.c \
lv_cache_entry.c \
lv_cache_lru_rb.c \
lv_image_header_cache.c \
lv_cache.c \
lv_text.c \
lv_lru.c \
lv_profiler_builtin.c \
lv_anim_timeline.c \
lv_math.c \
lv_qnx.c \
lv_windows_input.c \
lv_windows_display.c \
lv_windows_context.c \
lv_sdl_window.c \
lv_sdl_mouse.c \
lv_sdl_keyboard.c \
lv_sdl_mousewheel.c \
lv_linux_drm.c \
lv_lcd_generic_mipi.c \
lv_ili9341.c \
lv_st7796.c \
lv_st7735.c \
lv_linux_fbdev.c \
lv_st7789.c \
lv_evdev.c \
lv_wayland_smm.c \
lv_wayland.c \
lv_nuttx_image_cache.c \
lv_nuttx_cache.c \
lv_nuttx_profiler.c \
lv_nuttx_entry.c \
lv_nuttx_lcd.c \
lv_nuttx_fbdev.c \
lv_nuttx_touchscreen.c \
lv_nuttx_libuv.c \
lv_libinput.c \
lv_xkb.c \
lv_x11_display.c \
lv_x11_input.c \
lv_opengles_debug.c \
lv_glfw_window.c \
lv_opengles_texture.c \
lv_opengles_driver.c \
lv_lottie.c \
lv_scale.c \
lv_imagebutton.c \
lv_keyboard.c \
lv_objx_templ.c \
lv_image.c \
lv_animimage.c \
lv_win.c \
lv_chart.c \
lv_table.c \
lv_line.c \
lv_tileview.c \
lv_buttonmatrix.c \
lv_spinner.c \
lv_button.c \
lv_textarea.c \
lv_carousel.c \
lv_calendar_header_dropdown.c \
lv_calendar.c \
lv_calendar_header_arrow.c \
lv_calendar_chinese.c \
lv_tabview.c \
lv_list.c \
lv_dropdown.c \
lv_led.c \
lv_bar.c \
lv_arc.c \
lv_canvas.c \
lv_image_properties.c \
lv_textarea_properties.c \
lv_label_properties.c \
lv_roller_properties.c \
lv_obj_properties.c \
lv_keyboard_properties.c \
lv_style_properties.c \
lv_dropdown_properties.c \
lv_checkbox.c \
lv_slider.c \
lv_switch.c \
lv_roller.c \
lv_spinbox.c \
lv_span.c \
lv_msgbox.c \
lv_label.c \
lv_menu.c \
lv_sprintf_rtthread.c \
lv_mem_core_rtthread.c \
lv_string_rtthread.c \
lv_mem.c \
lv_sprintf_clib.c \
lv_string_clib.c \
lv_mem_core_clib.c \
lv_sprintf_builtin.c \
lv_tlsf.c \
lv_string_builtin.c \
lv_mem_core_builtin.c \
lv_mem_core_micropython.c \
lv_init.c \

AFLAGS += "-I$(LVGL_PATH)"
CFLAGS += "-I$(LVGL_PATH)"

VPATH += \
$(LVGL_PATH)/src \
$(LVGL_PATH)/src/core \
$(LVGL_PATH)/src/others/observer \
$(LVGL_PATH)/src/others/sysmon \
$(LVGL_PATH)/src/others/snapshot \
$(LVGL_PATH)/src/others/imgfont \
$(LVGL_PATH)/src/others/file_explorer \
$(LVGL_PATH)/src/others/gridnav \
$(LVGL_PATH)/src/others/ime \
$(LVGL_PATH)/src/others/fragment \
$(LVGL_PATH)/src/others/vg_lite_tvg \
$(LVGL_PATH)/src/others/monkey \
$(LVGL_PATH)/src/indev \
$(LVGL_PATH)/src/themes \
$(LVGL_PATH)/src/themes/default \
$(LVGL_PATH)/src/themes/mono \
$(LVGL_PATH)/src/themes/simple \
$(LVGL_PATH)/src/osal \
$(LVGL_PATH)/src/layouts \
$(LVGL_PATH)/src/layouts/flex \
$(LVGL_PATH)/src/layouts/grid \
$(LVGL_PATH)/src/font \
$(LVGL_PATH)/src/display \
$(LVGL_PATH)/src/libs \
$(LVGL_PATH)/src/libs/ffmpeg \
$(LVGL_PATH)/src/libs/lodepng \
$(LVGL_PATH)/src/libs/fsdrv \
$(LVGL_PATH)/src/libs/thorvg \
$(LVGL_PATH)/src/libs/thorvg/rapidjson \
$(LVGL_PATH)/src/libs/thorvg/rapidjson/error \
$(LVGL_PATH)/src/libs/thorvg/rapidjson/msinttypes \
$(LVGL_PATH)/src/libs/thorvg/rapidjson/internal \
$(LVGL_PATH)/src/libs/lz4 \
$(LVGL_PATH)/src/libs/rlottie \
$(LVGL_PATH)/src/libs/tjpgd \
$(LVGL_PATH)/src/libs/rle \
$(LVGL_PATH)/src/libs/bmp \
$(LVGL_PATH)/src/libs/libpng \
$(LVGL_PATH)/src/libs/bin_decoder \
$(LVGL_PATH)/src/libs/qrcode \
$(LVGL_PATH)/src/libs/libjpeg_turbo \
$(LVGL_PATH)/src/libs/tiny_ttf \
$(LVGL_PATH)/src/libs/freetype \
$(LVGL_PATH)/src/libs/barcode \
$(LVGL_PATH)/src/libs/gif \
$(LVGL_PATH)/src/tick \
$(LVGL_PATH)/src/draw \
$(LVGL_PATH)/src/draw/nxp \
$(LVGL_PATH)/src/draw/nxp/pxp \
$(LVGL_PATH)/src/draw/nxp/vglite \
$(LVGL_PATH)/src/draw/sdl \
$(LVGL_PATH)/src/draw/sw \
$(LVGL_PATH)/src/draw/sw/arm2d \
$(LVGL_PATH)/src/draw/sw/blend \
$(LVGL_PATH)/src/draw/sw/blend/helium \
$(LVGL_PATH)/src/draw/sw/blend/arm2d \
$(LVGL_PATH)/src/draw/sw/blend/neon \
$(LVGL_PATH)/src/misc \
$(LVGL_PATH)/src/misc/cache \
$(LVGL_PATH)/src/drivers \
$(LVGL_PATH)/src/drivers/qnx \
$(LVGL_PATH)/src/drivers/windows \
$(LVGL_PATH)/src/drivers/sdl \
$(LVGL_PATH)/src/drivers/display \
$(LVGL_PATH)/src/drivers/display/drm \
$(LVGL_PATH)/src/drivers/display/lcd \
$(LVGL_PATH)/src/drivers/display/ili9341 \
$(LVGL_PATH)/src/drivers/display/st7796 \
$(LVGL_PATH)/src/drivers/display/st7735 \
$(LVGL_PATH)/src/drivers/display/fb \
$(LVGL_PATH)/src/drivers/display/st7789 \
$(LVGL_PATH)/src/drivers/evdev \
$(LVGL_PATH)/src/drivers/wayland \
$(LVGL_PATH)/src/drivers/nuttx \
$(LVGL_PATH)/src/drivers/libinput \
$(LVGL_PATH)/src/drivers/x11 \
$(LVGL_PATH)/src/drivers/glfw \
$(LVGL_PATH)/src/widgets/lottie \
$(LVGL_PATH)/src/widgets/scale \
$(LVGL_PATH)/src/widgets/imagebutton \
$(LVGL_PATH)/src/widgets/keyboard \
$(LVGL_PATH)/src/widgets/objx_templ \
$(LVGL_PATH)/src/widgets/image \
$(LVGL_PATH)/src/widgets/animimage \
$(LVGL_PATH)/src/widgets/win \
$(LVGL_PATH)/src/widgets/chart \
$(LVGL_PATH)/src/widgets/table \
$(LVGL_PATH)/src/widgets/line \
$(LVGL_PATH)/src/widgets/tileview \
$(LVGL_PATH)/src/widgets/buttonmatrix \
$(LVGL_PATH)/src/widgets/spinner \
$(LVGL_PATH)/src/widgets/button \
$(LVGL_PATH)/src/widgets/textarea \
$(LVGL_PATH)/src/widgets/carousel \
$(LVGL_PATH)/src/widgets/calendar \
$(LVGL_PATH)/src/widgets/tabview \
$(LVGL_PATH)/src/widgets/list \
$(LVGL_PATH)/src/widgets/dropdown \
$(LVGL_PATH)/src/widgets/led \
$(LVGL_PATH)/src/widgets/bar \
$(LVGL_PATH)/src/widgets/arc \
$(LVGL_PATH)/src/widgets/canvas \
$(LVGL_PATH)/src/widgets/property \
$(LVGL_PATH)/src/widgets/checkbox \
$(LVGL_PATH)/src/widgets/slider \
$(LVGL_PATH)/src/widgets/switch \
$(LVGL_PATH)/src/widgets/roller \
$(LVGL_PATH)/src/widgets/spinbox \
$(LVGL_PATH)/src/widgets/span \
$(LVGL_PATH)/src/widgets/msgbox \
$(LVGL_PATH)/src/widgets/label \
$(LVGL_PATH)/src/widgets/menu \
$(LVGL_PATH)/src/stdlib \
$(LVGL_PATH)/src/stdlib/rtthread \
$(LVGL_PATH)/src/stdlib/clib \
$(LVGL_PATH)/src/stdlib/builtin \
$(LVGL_PATH)/src/stdlib/micropython
